package cn.com.darly.vpm.business.friend.bean;

import cn.com.darly.vpm.framework.base.Criterion;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class FriendShipExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public FriendShipExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("ID is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("ID is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("ID =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("ID <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("ID >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("ID >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("ID <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("ID <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("ID like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("ID not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("ID in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("ID not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("ID between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("ID not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUseridIsNull() {
            addCriterion("USERID is null");
            return (Criteria) this;
        }

        public Criteria andUseridIsNotNull() {
            addCriterion("USERID is not null");
            return (Criteria) this;
        }

        public Criteria andUseridEqualTo(String value) {
            addCriterion("USERID =", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotEqualTo(String value) {
            addCriterion("USERID <>", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThan(String value) {
            addCriterion("USERID >", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThanOrEqualTo(String value) {
            addCriterion("USERID >=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThan(String value) {
            addCriterion("USERID <", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThanOrEqualTo(String value) {
            addCriterion("USERID <=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLike(String value) {
            addCriterion("USERID like", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotLike(String value) {
            addCriterion("USERID not like", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridIn(List<String> values) {
            addCriterion("USERID in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotIn(List<String> values) {
            addCriterion("USERID not in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridBetween(String value1, String value2) {
            addCriterion("USERID between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotBetween(String value1, String value2) {
            addCriterion("USERID not between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andFriendidIsNull() {
            addCriterion("FRIENDID is null");
            return (Criteria) this;
        }

        public Criteria andFriendidIsNotNull() {
            addCriterion("FRIENDID is not null");
            return (Criteria) this;
        }

        public Criteria andFriendidEqualTo(String value) {
            addCriterion("FRIENDID =", value, "friendid");
            return (Criteria) this;
        }

        public Criteria andFriendidNotEqualTo(String value) {
            addCriterion("FRIENDID <>", value, "friendid");
            return (Criteria) this;
        }

        public Criteria andFriendidGreaterThan(String value) {
            addCriterion("FRIENDID >", value, "friendid");
            return (Criteria) this;
        }

        public Criteria andFriendidGreaterThanOrEqualTo(String value) {
            addCriterion("FRIENDID >=", value, "friendid");
            return (Criteria) this;
        }

        public Criteria andFriendidLessThan(String value) {
            addCriterion("FRIENDID <", value, "friendid");
            return (Criteria) this;
        }

        public Criteria andFriendidLessThanOrEqualTo(String value) {
            addCriterion("FRIENDID <=", value, "friendid");
            return (Criteria) this;
        }

        public Criteria andFriendidLike(String value) {
            addCriterion("FRIENDID like", value, "friendid");
            return (Criteria) this;
        }

        public Criteria andFriendidNotLike(String value) {
            addCriterion("FRIENDID not like", value, "friendid");
            return (Criteria) this;
        }

        public Criteria andFriendidIn(List<String> values) {
            addCriterion("FRIENDID in", values, "friendid");
            return (Criteria) this;
        }

        public Criteria andFriendidNotIn(List<String> values) {
            addCriterion("FRIENDID not in", values, "friendid");
            return (Criteria) this;
        }

        public Criteria andFriendidBetween(String value1, String value2) {
            addCriterion("FRIENDID between", value1, value2, "friendid");
            return (Criteria) this;
        }

        public Criteria andFriendidNotBetween(String value1, String value2) {
            addCriterion("FRIENDID not between", value1, value2, "friendid");
            return (Criteria) this;
        }

        public Criteria andCreatebyIsNull() {
            addCriterion("CREATEBY is null");
            return (Criteria) this;
        }

        public Criteria andCreatebyIsNotNull() {
            addCriterion("CREATEBY is not null");
            return (Criteria) this;
        }

        public Criteria andCreatebyEqualTo(String value) {
            addCriterion("CREATEBY =", value, "createby");
            return (Criteria) this;
        }

        public Criteria andCreatebyNotEqualTo(String value) {
            addCriterion("CREATEBY <>", value, "createby");
            return (Criteria) this;
        }

        public Criteria andCreatebyGreaterThan(String value) {
            addCriterion("CREATEBY >", value, "createby");
            return (Criteria) this;
        }

        public Criteria andCreatebyGreaterThanOrEqualTo(String value) {
            addCriterion("CREATEBY >=", value, "createby");
            return (Criteria) this;
        }

        public Criteria andCreatebyLessThan(String value) {
            addCriterion("CREATEBY <", value, "createby");
            return (Criteria) this;
        }

        public Criteria andCreatebyLessThanOrEqualTo(String value) {
            addCriterion("CREATEBY <=", value, "createby");
            return (Criteria) this;
        }

        public Criteria andCreatebyLike(String value) {
            addCriterion("CREATEBY like", value, "createby");
            return (Criteria) this;
        }

        public Criteria andCreatebyNotLike(String value) {
            addCriterion("CREATEBY not like", value, "createby");
            return (Criteria) this;
        }

        public Criteria andCreatebyIn(List<String> values) {
            addCriterion("CREATEBY in", values, "createby");
            return (Criteria) this;
        }

        public Criteria andCreatebyNotIn(List<String> values) {
            addCriterion("CREATEBY not in", values, "createby");
            return (Criteria) this;
        }

        public Criteria andCreatebyBetween(String value1, String value2) {
            addCriterion("CREATEBY between", value1, value2, "createby");
            return (Criteria) this;
        }

        public Criteria andCreatebyNotBetween(String value1, String value2) {
            addCriterion("CREATEBY not between", value1, value2, "createby");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNull() {
            addCriterion("CREATETIME is null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNotNull() {
            addCriterion("CREATETIME is not null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeEqualTo(Date value) {
            addCriterion("CREATETIME =", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotEqualTo(Date value) {
            addCriterion("CREATETIME <>", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThan(Date value) {
            addCriterion("CREATETIME >", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("CREATETIME >=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThan(Date value) {
            addCriterion("CREATETIME <", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThanOrEqualTo(Date value) {
            addCriterion("CREATETIME <=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIn(List<Date> values) {
            addCriterion("CREATETIME in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotIn(List<Date> values) {
            addCriterion("CREATETIME not in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeBetween(Date value1, Date value2) {
            addCriterion("CREATETIME between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotBetween(Date value1, Date value2) {
            addCriterion("CREATETIME not between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andUpdatebyIsNull() {
            addCriterion("UPDATEBY is null");
            return (Criteria) this;
        }

        public Criteria andUpdatebyIsNotNull() {
            addCriterion("UPDATEBY is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatebyEqualTo(String value) {
            addCriterion("UPDATEBY =", value, "updateby");
            return (Criteria) this;
        }

        public Criteria andUpdatebyNotEqualTo(String value) {
            addCriterion("UPDATEBY <>", value, "updateby");
            return (Criteria) this;
        }

        public Criteria andUpdatebyGreaterThan(String value) {
            addCriterion("UPDATEBY >", value, "updateby");
            return (Criteria) this;
        }

        public Criteria andUpdatebyGreaterThanOrEqualTo(String value) {
            addCriterion("UPDATEBY >=", value, "updateby");
            return (Criteria) this;
        }

        public Criteria andUpdatebyLessThan(String value) {
            addCriterion("UPDATEBY <", value, "updateby");
            return (Criteria) this;
        }

        public Criteria andUpdatebyLessThanOrEqualTo(String value) {
            addCriterion("UPDATEBY <=", value, "updateby");
            return (Criteria) this;
        }

        public Criteria andUpdatebyLike(String value) {
            addCriterion("UPDATEBY like", value, "updateby");
            return (Criteria) this;
        }

        public Criteria andUpdatebyNotLike(String value) {
            addCriterion("UPDATEBY not like", value, "updateby");
            return (Criteria) this;
        }

        public Criteria andUpdatebyIn(List<String> values) {
            addCriterion("UPDATEBY in", values, "updateby");
            return (Criteria) this;
        }

        public Criteria andUpdatebyNotIn(List<String> values) {
            addCriterion("UPDATEBY not in", values, "updateby");
            return (Criteria) this;
        }

        public Criteria andUpdatebyBetween(String value1, String value2) {
            addCriterion("UPDATEBY between", value1, value2, "updateby");
            return (Criteria) this;
        }

        public Criteria andUpdatebyNotBetween(String value1, String value2) {
            addCriterion("UPDATEBY not between", value1, value2, "updateby");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNull() {
            addCriterion("UPDATETIME is null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNotNull() {
            addCriterion("UPDATETIME is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeEqualTo(Date value) {
            addCriterion("UPDATETIME =", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotEqualTo(Date value) {
            addCriterion("UPDATETIME <>", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThan(Date value) {
            addCriterion("UPDATETIME >", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("UPDATETIME >=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThan(Date value) {
            addCriterion("UPDATETIME <", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThanOrEqualTo(Date value) {
            addCriterion("UPDATETIME <=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIn(List<Date> values) {
            addCriterion("UPDATETIME in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotIn(List<Date> values) {
            addCriterion("UPDATETIME not in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeBetween(Date value1, Date value2) {
            addCriterion("UPDATETIME between", value1, value2, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotBetween(Date value1, Date value2) {
            addCriterion("UPDATETIME not between", value1, value2, "updatetime");
            return (Criteria) this;
        }

        public Criteria andFriendupIsNull() {
            addCriterion("FRIENDUP is null");
            return (Criteria) this;
        }

        public Criteria andFriendupIsNotNull() {
            addCriterion("FRIENDUP is not null");
            return (Criteria) this;
        }

        public Criteria andFriendupEqualTo(String value) {
            addCriterion("FRIENDUP =", value, "friendup");
            return (Criteria) this;
        }

        public Criteria andFriendupNotEqualTo(String value) {
            addCriterion("FRIENDUP <>", value, "friendup");
            return (Criteria) this;
        }

        public Criteria andFriendupGreaterThan(String value) {
            addCriterion("FRIENDUP >", value, "friendup");
            return (Criteria) this;
        }

        public Criteria andFriendupGreaterThanOrEqualTo(String value) {
            addCriterion("FRIENDUP >=", value, "friendup");
            return (Criteria) this;
        }

        public Criteria andFriendupLessThan(String value) {
            addCriterion("FRIENDUP <", value, "friendup");
            return (Criteria) this;
        }

        public Criteria andFriendupLessThanOrEqualTo(String value) {
            addCriterion("FRIENDUP <=", value, "friendup");
            return (Criteria) this;
        }

        public Criteria andFriendupLike(String value) {
            addCriterion("FRIENDUP like", value, "friendup");
            return (Criteria) this;
        }

        public Criteria andFriendupNotLike(String value) {
            addCriterion("FRIENDUP not like", value, "friendup");
            return (Criteria) this;
        }

        public Criteria andFriendupIn(List<String> values) {
            addCriterion("FRIENDUP in", values, "friendup");
            return (Criteria) this;
        }

        public Criteria andFriendupNotIn(List<String> values) {
            addCriterion("FRIENDUP not in", values, "friendup");
            return (Criteria) this;
        }

        public Criteria andFriendupBetween(String value1, String value2) {
            addCriterion("FRIENDUP between", value1, value2, "friendup");
            return (Criteria) this;
        }

        public Criteria andFriendupNotBetween(String value1, String value2) {
            addCriterion("FRIENDUP not between", value1, value2, "friendup");
            return (Criteria) this;
        }

        public Criteria andFriendnicknameIsNull() {
            addCriterion("FRIENDNICKNAME is null");
            return (Criteria) this;
        }

        public Criteria andFriendnicknameIsNotNull() {
            addCriterion("FRIENDNICKNAME is not null");
            return (Criteria) this;
        }

        public Criteria andFriendnicknameEqualTo(String value) {
            addCriterion("FRIENDNICKNAME =", value, "friendnickname");
            return (Criteria) this;
        }

        public Criteria andFriendnicknameNotEqualTo(String value) {
            addCriterion("FRIENDNICKNAME <>", value, "friendnickname");
            return (Criteria) this;
        }

        public Criteria andFriendnicknameGreaterThan(String value) {
            addCriterion("FRIENDNICKNAME >", value, "friendnickname");
            return (Criteria) this;
        }

        public Criteria andFriendnicknameGreaterThanOrEqualTo(String value) {
            addCriterion("FRIENDNICKNAME >=", value, "friendnickname");
            return (Criteria) this;
        }

        public Criteria andFriendnicknameLessThan(String value) {
            addCriterion("FRIENDNICKNAME <", value, "friendnickname");
            return (Criteria) this;
        }

        public Criteria andFriendnicknameLessThanOrEqualTo(String value) {
            addCriterion("FRIENDNICKNAME <=", value, "friendnickname");
            return (Criteria) this;
        }

        public Criteria andFriendnicknameLike(String value) {
            addCriterion("FRIENDNICKNAME like", value, "friendnickname");
            return (Criteria) this;
        }

        public Criteria andFriendnicknameNotLike(String value) {
            addCriterion("FRIENDNICKNAME not like", value, "friendnickname");
            return (Criteria) this;
        }

        public Criteria andFriendnicknameIn(List<String> values) {
            addCriterion("FRIENDNICKNAME in", values, "friendnickname");
            return (Criteria) this;
        }

        public Criteria andFriendnicknameNotIn(List<String> values) {
            addCriterion("FRIENDNICKNAME not in", values, "friendnickname");
            return (Criteria) this;
        }

        public Criteria andFriendnicknameBetween(String value1, String value2) {
            addCriterion("FRIENDNICKNAME between", value1, value2, "friendnickname");
            return (Criteria) this;
        }

        public Criteria andFriendnicknameNotBetween(String value1, String value2) {
            addCriterion("FRIENDNICKNAME not between", value1, value2, "friendnickname");
            return (Criteria) this;
        }

        public Criteria andBackupIsNull() {
            addCriterion("BACKUP is null");
            return (Criteria) this;
        }

        public Criteria andBackupIsNotNull() {
            addCriterion("BACKUP is not null");
            return (Criteria) this;
        }

        public Criteria andBackupEqualTo(String value) {
            addCriterion("BACKUP =", value, "backup");
            return (Criteria) this;
        }

        public Criteria andBackupNotEqualTo(String value) {
            addCriterion("BACKUP <>", value, "backup");
            return (Criteria) this;
        }

        public Criteria andBackupGreaterThan(String value) {
            addCriterion("BACKUP >", value, "backup");
            return (Criteria) this;
        }

        public Criteria andBackupGreaterThanOrEqualTo(String value) {
            addCriterion("BACKUP >=", value, "backup");
            return (Criteria) this;
        }

        public Criteria andBackupLessThan(String value) {
            addCriterion("BACKUP <", value, "backup");
            return (Criteria) this;
        }

        public Criteria andBackupLessThanOrEqualTo(String value) {
            addCriterion("BACKUP <=", value, "backup");
            return (Criteria) this;
        }

        public Criteria andBackupLike(String value) {
            addCriterion("BACKUP like", value, "backup");
            return (Criteria) this;
        }

        public Criteria andBackupNotLike(String value) {
            addCriterion("BACKUP not like", value, "backup");
            return (Criteria) this;
        }

        public Criteria andBackupIn(List<String> values) {
            addCriterion("BACKUP in", values, "backup");
            return (Criteria) this;
        }

        public Criteria andBackupNotIn(List<String> values) {
            addCriterion("BACKUP not in", values, "backup");
            return (Criteria) this;
        }

        public Criteria andBackupBetween(String value1, String value2) {
            addCriterion("BACKUP between", value1, value2, "backup");
            return (Criteria) this;
        }

        public Criteria andBackupNotBetween(String value1, String value2) {
            addCriterion("BACKUP not between", value1, value2, "backup");
            return (Criteria) this;
        }

        public Criteria andIdLikeInsensitive(String value) {
            addCriterion("upper(ID) like", value.toUpperCase(), "id");
            return (Criteria) this;
        }

        public Criteria andUseridLikeInsensitive(String value) {
            addCriterion("upper(USERID) like", value.toUpperCase(), "userid");
            return (Criteria) this;
        }

        public Criteria andFriendidLikeInsensitive(String value) {
            addCriterion("upper(FRIENDID) like", value.toUpperCase(), "friendid");
            return (Criteria) this;
        }

        public Criteria andCreatebyLikeInsensitive(String value) {
            addCriterion("upper(CREATEBY) like", value.toUpperCase(), "createby");
            return (Criteria) this;
        }

        public Criteria andUpdatebyLikeInsensitive(String value) {
            addCriterion("upper(UPDATEBY) like", value.toUpperCase(), "updateby");
            return (Criteria) this;
        }

        public Criteria andFriendupLikeInsensitive(String value) {
            addCriterion("upper(FRIENDUP) like", value.toUpperCase(), "friendup");
            return (Criteria) this;
        }

        public Criteria andFriendnicknameLikeInsensitive(String value) {
            addCriterion("upper(FRIENDNICKNAME) like", value.toUpperCase(), "friendnickname");
            return (Criteria) this;
        }

        public Criteria andBackupLikeInsensitive(String value) {
            addCriterion("upper(BACKUP) like", value.toUpperCase(), "backup");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

}